package com.ikas.ai.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * @Description: 三元元组
 * @Author: qi.yilai
 * @Date: 2022/12/28 11:17
 * @Version: 1.0.0
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class TriangleTunple<T1, T2, T3> {

    private T1 data1;

    private T2 data2;

    private T3 data3;

    public static <T1, T2, T3> TriangleTunple<T1, T2, T3> empty() {
        return new TriangleTunple<>();
    }

    public static <T1, T2, T3> TriangleTunple<T1, T2, T3> of(T1 data1, T2 data2, T3 data3) {
        return new TriangleTunple<>(data1, data2, data3);
    }

    @Override
    public String toString() {
        return "{\"data1\": " + data1.toString() + ", \"data2\": " + data2.toString() + ", \"data3\": " + data3.toString() + "}";
    }
}
